package com.ruoyi.yunxin.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 通话记录对象 t_middle_notify
 * 
 * @author ruoyi
 * @date 2025-04-29
 */
public class MiddleNotify extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 语音通知ID */
    private Long id;

    /** 订单号 */
    @Excel(name = "订单号")
    private String orderNo;

    /** 呼叫标识 */
    private String callId;

    /** 绑定 ID */
    private String bindId;

    /** 用户ID */
    @Excel(name = "用户ID")
    private Long userId;

    /** 技师ID */
    @Excel(name = "技师ID")
    private Long tid;

    /** 小号 */
    @Excel(name = "小号")
    private String displayNumber;

    /** 主叫号码 */
    @Excel(name = "主叫号码")
    private String callerNumber;

    /** 被叫号码 */
    @Excel(name = "被叫号码")
    private String calleeNumber;

    /** 呼叫开始时间 */
    @Excel(name = "呼叫开始时间")
    private String startCallTime;

    /** 主叫接通时间 */
    private String callerAnsweredTime;

    /** 被叫接通时间 */
    private String calleeAnsweredTime;

    /** 结束时间 */
    @Excel(name = "结束时间")
    private String endTime;

    /** 主叫呼叫状态 */
    @Excel(name = "主叫呼叫状态")
    private Integer callerState;

    /** 被叫呼叫状态 */
    @Excel(name = "被叫呼叫状态")
    private Integer calleeState;

    /** 主叫通话时长（单位：秒） */
    private Integer callerDuration;

    /** 被叫通话时长（单位：秒） */
    private Long calleeDuration;

    /** 时长（计费）（单位：秒） */
    @Excel(name = "时长", readConverterExp = "计=费")
    private Long duration;

    /** 录音下载地址 */
    @Excel(name = "录音下载地址")
    private String recUrl;

    /** 逻辑删除（0=未删除，1=已删除） */
    private Integer isDelete;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setOrderNo(String orderNo) 
    {
        this.orderNo = orderNo;
    }

    public String getOrderNo() 
    {
        return orderNo;
    }
    public void setCallId(String callId) 
    {
        this.callId = callId;
    }

    public String getCallId() 
    {
        return callId;
    }
    public void setBindId(String bindId) 
    {
        this.bindId = bindId;
    }

    public String getBindId() 
    {
        return bindId;
    }
    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }
    public void setTid(Long tid) 
    {
        this.tid = tid;
    }

    public Long getTid() 
    {
        return tid;
    }
    public void setDisplayNumber(String displayNumber) 
    {
        this.displayNumber = displayNumber;
    }

    public String getDisplayNumber() 
    {
        return displayNumber;
    }
    public void setCallerNumber(String callerNumber) 
    {
        this.callerNumber = callerNumber;
    }

    public String getCallerNumber() 
    {
        return callerNumber;
    }
    public void setCalleeNumber(String calleeNumber) 
    {
        this.calleeNumber = calleeNumber;
    }

    public String getCalleeNumber() 
    {
        return calleeNumber;
    }
    public void setStartCallTime(String startCallTime) 
    {
        this.startCallTime = startCallTime;
    }

    public String getStartCallTime() 
    {
        return startCallTime;
    }
    public void setCallerAnsweredTime(String callerAnsweredTime) 
    {
        this.callerAnsweredTime = callerAnsweredTime;
    }

    public String getCallerAnsweredTime() 
    {
        return callerAnsweredTime;
    }
    public void setCalleeAnsweredTime(String calleeAnsweredTime) 
    {
        this.calleeAnsweredTime = calleeAnsweredTime;
    }

    public String getCalleeAnsweredTime() 
    {
        return calleeAnsweredTime;
    }
    public void setEndTime(String endTime) 
    {
        this.endTime = endTime;
    }

    public String getEndTime() 
    {
        return endTime;
    }
    public void setCallerState(Integer callerState) 
    {
        this.callerState = callerState;
    }

    public Integer getCallerState() 
    {
        return callerState;
    }
    public void setCalleeState(Integer calleeState) 
    {
        this.calleeState = calleeState;
    }

    public Integer getCalleeState() 
    {
        return calleeState;
    }
    public void setCallerDuration(Integer callerDuration) 
    {
        this.callerDuration = callerDuration;
    }

    public Integer getCallerDuration() 
    {
        return callerDuration;
    }
    public void setCalleeDuration(Long calleeDuration) 
    {
        this.calleeDuration = calleeDuration;
    }

    public Long getCalleeDuration() 
    {
        return calleeDuration;
    }
    public void setDuration(Long duration) 
    {
        this.duration = duration;
    }

    public Long getDuration() 
    {
        return duration;
    }
    public void setRecUrl(String recUrl) 
    {
        this.recUrl = recUrl;
    }

    public String getRecUrl() 
    {
        return recUrl;
    }
    public void setIsDelete(Integer isDelete) 
    {
        this.isDelete = isDelete;
    }

    public Integer getIsDelete() 
    {
        return isDelete;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("orderNo", getOrderNo())
            .append("callId", getCallId())
            .append("bindId", getBindId())
            .append("userId", getUserId())
            .append("tid", getTid())
            .append("displayNumber", getDisplayNumber())
            .append("callerNumber", getCallerNumber())
            .append("calleeNumber", getCalleeNumber())
            .append("startCallTime", getStartCallTime())
            .append("callerAnsweredTime", getCallerAnsweredTime())
            .append("calleeAnsweredTime", getCalleeAnsweredTime())
            .append("endTime", getEndTime())
            .append("callerState", getCallerState())
            .append("calleeState", getCalleeState())
            .append("callerDuration", getCallerDuration())
            .append("calleeDuration", getCalleeDuration())
            .append("duration", getDuration())
            .append("recUrl", getRecUrl())
            .append("isDelete", getIsDelete())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
